Currently one of the computer software industry's greatest marketing challenges is efficiency in the licensing of its products to a wide variety of customers. This challenge spans the entire spectrum of licensing including: pricing, distribution, administration, and policing licensed software. This is especially true in situations where customers have unique software requirements requiring customized packaging of software. Because of the software industry's prior failure to meet the aforementioned challenge, licensing obstacles are a factor in customers' selection of a particular software vendor's services. Moreover, licensing according to specific customer needs can involve a high overhead cost for both the software vendor and the customer. A better software product may be dismissed because of high overhead involved in negotiating a license to use the software.
Large sums of revenue are lost through software piracy and users exceeding the scope of their licenses. For example, a user enters a license to use one copy of a program on a single computer and then exceeds the limits of the license by making copies from the original software and loading the software on multiple computers. Additional unauthorized users acquire and execute the software on their computers. Enforcing such use limitations is difficult because the licensor is typically unable to enter a customer's system or facility to determine how the software is being utilized.
Administering software licenses can also be expensive. In a highly competitive environment, maintaining reasonable profit margins depends upon minimizing all overhead costs, including administration. Because human intervention is usually required to ensure that a customer follows the license terms, license terms are often only sporadically enforced in their entirety—if at all.
Software provides varying degrees of economic value to various users. The inability to accurately monitor how licensed software is being used hampers market research efforts directed at establishing fair pricing arrangements for customers. Licensors cannot accurately gauge the extent to which users obtain value from the licensed software. Thus, it is difficult for software licensors to determine a proper price for using their software.
Under today's typical licensing arrangements all users pay the same price to use software for the life of the system. For example a dairy (running eight hours per day) may pay the same amount of money as a high volume brewery (running 24 hours per day) for using a particular combination of software modules to control an industrial control process—even though the brewer obtains several times more return on its software investment based upon the volume of output from its controlled system.
The above-described pricing scenario involving a large up-front commitment by the customer creates barriers to licensing new systems. A user assumes a large portion of the risk that an installed system will not provide the expected value. In order to provide the assurance required by software customers, flexible, creative licensing solutions for a variety of buyers' mentalities are desirable. For example, small businesses having small, simple systems, typically operate on a small budget and are looking for a supplier that will take into consideration the relatively small volume of use, in comparison to the use of the same software by a much larger installation. On the other hand, large businesses often focus upon the return on investment even in situations where the return cannot be accurately predicted at the time the software is provided to the customer. Finally, original equipment manufacturers have a licensing mentality that they only want to pay for the particular software components that they require.
Known pay-as-you-use systems involve customers remotely connecting to a central computer, logging onto the remote computer system, and then paying for use of the computer system based upon the amount of time they were linked to the computer or alternatively based upon the “CPU” time consumed to execute the customers' requests. In such cases, the software resources are located at, or transferred to, a central site. Such an arrangement introduces a potential bottleneck as a large number of customers become frequent users of the computer system. Furthermore, the communication link between the customer and the computer system may be unacceptable, unreliable, or economically impractical.
Today software system design is moving to an object-oriented approach. Software systems incorporate a set of building blocks and templates known as object classes. The object classes are written by developers having specialized knowledge of a particular task addressed by the object classes. The object classes are used to create and deploy within systems a set of objects having well-defined input and output interfaces and functionality. Because a single class may create an infinite number of objects, a vendor cannot determine what value the customer intends to derive from a particular object class at the time the vendor provides the object classes to the customer.
Software distribution is moving away from traditional sales channels and is gravitating toward e-commerce sales channels. In an e-commerce environment, automating the licensing process and eliminating physical delivery costs have the potential to reduce overhead costs of sales. E-commerce presents its own challenges to the sales/marketing departments of software developers/vendors due to decreased customer contact (feedback) and the lack of flexibility in automated sales programs.